--POUR CONTROLE
define erp='erp_mli2.';
define outils='outils_mli2.';

 DELETE FROM se_par_operateur;

 INSERT INTO se_par_operateur (
    SELECT operateur_cod,
           0 adresse_id,
           0 enreg_id,
           unfab_cod,
           prefnom_cod,
           typtps_cod,
           enreg_s,
           operateur_nom,
           operateur_prenom,
           utilisateur,
           savlitige_ok,
           savdestprinc_ok,
           savcloture_ok,
           savpaiement_ok
    FROM par_operateur@mli   );


 UPDATE se_par_operateur tf SET (enreg_id)=(select enreg_id FROM &erp.par_operateur f WHERE f.operateur_cod=tf.operateur_cod) ;
 UPDATE se_par_operateur tf SET (adresse_id)=(select adresse_id FROM &erp.par_operateur f WHERE f.operateur_cod=tf.operateur_cod) ;
 UPDATE se_par_operateur tf SET enreg_id=&outils.enreg_id.NEXTVAL WHERE enreg_id IS NULL OR enreg_id =0;
 UPDATE se_par_operateur tf SET adresse_id=&outils.gen_adresse.NEXTVAL WHERE adresse_id IS NULL OR adresse_id =0;



 commit;







DELETE FROM  se_gen_adresse ;

INSERT INTO se_gen_adresse
 (SELECT (SELECT adresse_id FROM se_par_operateur oo WHERE oo.operateur_cod=o.operateur_cod) ADRESSE_ID,
         g.STRUCJUR_COD,
         g.TRADUCTION_COD,
         g.EXPEDZONE_COD,
         0 ENREG_ID,
         g.PAYS_COD,
         g.DEPARTEMENT_COD,
         g.REGION_COD,
         g.PREFNOM_COD,
         g.NOM,
         g.NOM2,
         g.ADR1,
         g.ADR2,
         g.ADR3,
         g.BP,
         g.CPOSTAL_COD,
         g.VILLE_COD,
         g.TEL1, g.TEL2,
         g.FAX1, g.FAX2,
         g.TELMOBILE1, g.TELMOBILE2,
         g.EMAIL,
         g.SITEWEB,
         g.CONTACT_NOM,
         g.TVACEE_NO,
         g.SIRET_NO,
         g.APE_NO,
         g.GLN_NO,
         g.CNUF_NO,
         g.RC_NO,
         g.VILLERC_LIB,
         g.CAPITAL,
         g.LOGOACHAT_LIB, g.CREATSOC_DAT, g.ENVOI_TYP, g.VILLEINSEE_COD, g.EDIADR_NO
    FROM gen_adresse@mli g, par_operateur@mli o
    WHERE o.adresse_id=g.adresse_id
      ) ;

 UPDATE se_gen_adresse tf
 SET enreg_id = (select enreg_id FROM &erp.gen_adresse f WHERE f.adresse_id=tf.adresse_id )
 WHERE EXISTS (SELECT 1 FROM &erp.gen_adresse f WHERE f.adresse_id=tf.adresse_id);

 UPDATE se_gen_adresse SET enreg_id=&outils.enreg_id.NEXTVAL WHERE enreg_id IS NULL OR enreg_id =0;

 CALL uvse_synchroverserp('adresse_id','GEN_ADRESSE','O') ;

 CALL uvse_synchroverserp('operateur_cod','PAR_OPERATEUR','O') ;



 commit;

select * from (
SELECT &outils.stragg(source) source,operateur_cod, adresse_id, enreg_id, unfab_cod, prefnom_cod, typtps_cod, enreg_s, operateur_nom, operateur_prenom, utilisateur, savlitige_ok, savdestprinc_ok, savcloture_ok, savpaiement_ok
FROM (
  SELECT 'uv' source ,g.* FROM se_par_operateur g
  UNION ALL
  SELECT 'se' source ,g.* FROM &erp.par_operateur g

  )
GROUP BY operateur_cod, adresse_id, enreg_id, unfab_cod, prefnom_cod, typtps_cod, enreg_s, operateur_nom, operateur_prenom, utilisateur, savlitige_ok, savdestprinc_ok, savcloture_ok, savpaiement_ok
HAVING Count(1)!=2) r
ORDER BY operateur_cod ;

SELECT &outils.stragg(source) source,adresse_id, strucjur_cod, traduction_cod, expedzone_cod, enreg_id, pays_cod, departement_cod, region_cod, prefnom_cod, nom, nom2, adr1, adr2, adr3, bp, cpostal_cod, ville_cod, tel1, tel2, fax1, fax2, telmobile1, telmobile2, email, siteweb, contact_nom, tvacee_no, siret_no, ape_no, gln_no, cnuf_no, rc_no, villerc_lib, capital, logoachat_lib, creatsoc_dat, envoi_typ, villeinsee_cod, ediadr_no
FROM (
  SELECT 'uv' source ,g.* FROM se_gen_adresse g
  UNION ALL
  SELECT 'se' source ,g.* FROM &erp.gen_adresse g WHERE EXISTS (SELECT * FROM se_par_operateur a WHERE a.adresse_id=g.adresse_id)
  )
GROUP BY adresse_id, strucjur_cod, traduction_cod, expedzone_cod, enreg_id, pays_cod, departement_cod, region_cod, prefnom_cod, nom, nom2, adr1, adr2, adr3, bp, cpostal_cod, ville_cod, tel1, tel2, fax1, fax2, telmobile1, telmobile2, email, siteweb, contact_nom, tvacee_no, siret_no, ape_no, gln_no, cnuf_no, rc_no, villerc_lib, capital, logoachat_lib, creatsoc_dat, envoi_typ, villeinsee_cod, ediadr_no
HAVING Count(1)!=2
ORDER BY adresse_id;
